Skip to content

Implement minimal built-in checks for Ibis backend #1885

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Jan 13, 2025

Conversation

deepyaman
Copy link
Collaborator

@deepyaman deepyaman commented Dec 25, 2024

This implements the built-in check machinery and a single validation (equal_to). In future PRs, I (or somebody else) can:

  • Add more built-in checks
  • Add more datatypes and make sure they work with the built-in checks

@deepyaman deepyaman changed the base branch from main to ibis-dev December 25, 2024 18:40
@deepyaman deepyaman changed the base branch from ibis-dev to main December 25, 2024 18:40
Copy link

codecov bot commented Dec 25, 2024

Codecov Report

Attention: Patch coverage is 94.73684% with 1 line in your changes missing coverage. Please review.

Project coverage is 92.91%. Comparing base (ffe6c55) to head (34daca5).
Report is 56 commits behind head on ibis-dev.

Files with missing lines Patch % Lines
pandera/api/ibis/components.py 83.33% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           ibis-dev    #1885      +/-   ##
============================================
+ Coverage     92.76%   92.91%   +0.14%     
============================================
  Files           133      134       +1     
  Lines          9705     9722      +17     
============================================
+ Hits           9003     9033      +30     
+ Misses          702      689      -13     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@deepyaman deepyaman force-pushed the feat/ibis/builtin-checks branch 2 times, most recently from 3d0efc6 to da8490f Compare December 26, 2024 12:38
@deepyaman deepyaman changed the base branch from main to ibis-dev December 31, 2024 12:50
@deepyaman deepyaman force-pushed the feat/ibis/builtin-checks branch from da8490f to 5744a4c Compare December 31, 2024 12:51
@deepyaman deepyaman force-pushed the feat/ibis/builtin-checks branch from 3f3f649 to b97d493 Compare January 6, 2025 14:14
@deepyaman deepyaman marked this pull request as ready for review January 6, 2025 15:48
@deepyaman deepyaman requested a review from cosmicBboy January 6, 2025 15:49
@deepyaman deepyaman force-pushed the feat/ibis/builtin-checks branch from 4698e40 to 34daca5 Compare January 9, 2025 07:23
Copy link
Collaborator

@cosmicBboy cosmicBboy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @deepyaman, this looks great!

Do you plan on implementing the other built-in checks in a separate PR? If so we can go ahead and merge this

@deepyaman
Copy link
Collaborator Author

thanks @deepyaman, this looks great!

Do you plan on implementing the other built-in checks in a separate PR? If so we can go ahead and merge this

Yep, will do in a separate PR!

@deepyaman deepyaman merged commit d68e842 into unionai-oss:ibis-dev Jan 13, 2025
155 checks passed
@deepyaman deepyaman deleted the feat/ibis/builtin-checks branch January 15, 2025 07:27
deepyaman added a commit to deepyaman/pandera that referenced this pull request Feb 8, 2025
* Implement minimal built-in checks for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Implement `Column` validation for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Promote check object to table during preprocessing

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove extraneous fixture for backend registration

Signed-off-by: Deepyaman Datta <[email protected]>

* Resolve lint (unused imports, undefined variables)

Signed-off-by: Deepyaman Datta <[email protected]>

* Partially standardize docstrings of builtin checks

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the `preprocess` docstrings copied from pandas

Signed-off-by: Deepyaman Datta <[email protected]>

* Format pandera/backends/ibis/checks.py using Black

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
deepyaman added a commit to deepyaman/pandera that referenced this pull request Mar 29, 2025
* Implement minimal built-in checks for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Implement `Column` validation for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Promote check object to table during preprocessing

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove extraneous fixture for backend registration

Signed-off-by: Deepyaman Datta <[email protected]>

* Resolve lint (unused imports, undefined variables)

Signed-off-by: Deepyaman Datta <[email protected]>

* Partially standardize docstrings of builtin checks

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the `preprocess` docstrings copied from pandas

Signed-off-by: Deepyaman Datta <[email protected]>

* Format pandera/backends/ibis/checks.py using Black

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
deepyaman added a commit to deepyaman/pandera that referenced this pull request Mar 31, 2025
* Implement minimal built-in checks for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Implement `Column` validation for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Promote check object to table during preprocessing

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove extraneous fixture for backend registration

Signed-off-by: Deepyaman Datta <[email protected]>

* Resolve lint (unused imports, undefined variables)

Signed-off-by: Deepyaman Datta <[email protected]>

* Partially standardize docstrings of builtin checks

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the `preprocess` docstrings copied from pandas

Signed-off-by: Deepyaman Datta <[email protected]>

* Format pandera/backends/ibis/checks.py using Black

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
deepyaman added a commit to deepyaman/pandera that referenced this pull request Mar 31, 2025
* Implement minimal built-in checks for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Implement `Column` validation for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Promote check object to table during preprocessing

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove extraneous fixture for backend registration

Signed-off-by: Deepyaman Datta <[email protected]>

* Resolve lint (unused imports, undefined variables)

Signed-off-by: Deepyaman Datta <[email protected]>

* Partially standardize docstrings of builtin checks

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the `preprocess` docstrings copied from pandas

Signed-off-by: Deepyaman Datta <[email protected]>

* Format pandera/backends/ibis/checks.py using Black

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
deepyaman added a commit to deepyaman/pandera that referenced this pull request May 25, 2025
* Implement minimal built-in checks for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Implement `Column` validation for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Promote check object to table during preprocessing

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove extraneous fixture for backend registration

Signed-off-by: Deepyaman Datta <[email protected]>

* Resolve lint (unused imports, undefined variables)

Signed-off-by: Deepyaman Datta <[email protected]>

* Partially standardize docstrings of builtin checks

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the `preprocess` docstrings copied from pandas

Signed-off-by: Deepyaman Datta <[email protected]>

* Format pandera/backends/ibis/checks.py using Black

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
deepyaman added a commit to deepyaman/pandera that referenced this pull request May 28, 2025
* Implement minimal built-in checks for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Implement `Column` validation for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Promote check object to table during preprocessing

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove extraneous fixture for backend registration

Signed-off-by: Deepyaman Datta <[email protected]>

* Resolve lint (unused imports, undefined variables)

Signed-off-by: Deepyaman Datta <[email protected]>

* Partially standardize docstrings of builtin checks

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the `preprocess` docstrings copied from pandas

Signed-off-by: Deepyaman Datta <[email protected]>

* Format pandera/backends/ibis/checks.py using Black

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
deepyaman added a commit to deepyaman/pandera that referenced this pull request Jun 9, 2025
* Implement minimal built-in checks for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Implement `Column` validation for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Promote check object to table during preprocessing

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove extraneous fixture for backend registration

Signed-off-by: Deepyaman Datta <[email protected]>

* Resolve lint (unused imports, undefined variables)

Signed-off-by: Deepyaman Datta <[email protected]>

* Partially standardize docstrings of builtin checks

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the `preprocess` docstrings copied from pandas

Signed-off-by: Deepyaman Datta <[email protected]>

* Format pandera/backends/ibis/checks.py using Black

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
deepyaman added a commit to deepyaman/pandera that referenced this pull request Jun 17, 2025
* Implement minimal built-in checks for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Implement `Column` validation for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Promote check object to table during preprocessing

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove extraneous fixture for backend registration

Signed-off-by: Deepyaman Datta <[email protected]>

* Resolve lint (unused imports, undefined variables)

Signed-off-by: Deepyaman Datta <[email protected]>

* Partially standardize docstrings of builtin checks

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the `preprocess` docstrings copied from pandas

Signed-off-by: Deepyaman Datta <[email protected]>

* Format pandera/backends/ibis/checks.py using Black

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
cosmicBboy pushed a commit that referenced this pull request Jun 25, 2025
* Implement minimal built-in checks for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Implement `Column` validation for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Promote check object to table during preprocessing

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove extraneous fixture for backend registration

Signed-off-by: Deepyaman Datta <[email protected]>

* Resolve lint (unused imports, undefined variables)

Signed-off-by: Deepyaman Datta <[email protected]>

* Partially standardize docstrings of builtin checks

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the `preprocess` docstrings copied from pandas

Signed-off-by: Deepyaman Datta <[email protected]>

* Format pandera/backends/ibis/checks.py using Black

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
AndrejIring pushed a commit to AndrejIring/pandera that referenced this pull request Jun 30, 2025
* Implement minimal built-in checks for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Implement `Column` validation for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Promote check object to table during preprocessing

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove extraneous fixture for backend registration

Signed-off-by: Deepyaman Datta <[email protected]>

* Resolve lint (unused imports, undefined variables)

Signed-off-by: Deepyaman Datta <[email protected]>

* Partially standardize docstrings of builtin checks

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the `preprocess` docstrings copied from pandas

Signed-off-by: Deepyaman Datta <[email protected]>

* Format pandera/backends/ibis/checks.py using Black

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>
cosmicBboy added a commit that referenced this pull request Jul 2, 2025
…ed pyarrow failed cases (#2036)

* resolve 2035

Signed-off-by: Andrej Iring <[email protected]>

* change astype to apply

Signed-off-by: Andrej Iring <[email protected]>

* bugfix: PANDERA_VALIDATION_ENABLED=False should disable validation (#2028)

* bugfix: PANDERA_VALIDATION_ENABLED=False should disable validation

Signed-off-by: Niels Bantilan <[email protected]>

* fix tests

Signed-off-by: Niels Bantilan <[email protected]>

---------

Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Expect Python slice index errors after Python 3.10 (#2033)

* Expect Python slice index errors with pandas again

Seen in https://github.com/unionai-oss/pandera/actions/runs/15526426636/job/43706977542?pr=2030

Signed-off-by: Deepyaman Datta <[email protected]>

* Expect Python slice index errors after Python 3.10

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the version check to not include Python 3.10.x

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* resolve failing pyspark tests

Signed-off-by: Andrej Iring <[email protected]>

* add new test

Signed-off-by: Andrej Iring <[email protected]>

* format code using black

Signed-off-by: Andrej Iring <[email protected]>

* Add `DataFrameModel`, `DataFrameSchema` for `ibis`

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Refactor Ibis `DataFrameSchema` to extend pandas's

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Add code for basic `Column`, and stub more modules

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Add Ibis's parsing, validation, and error backends

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement stub to validate schema component checks

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement validation for floating types

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Inherit getter, only override setter, for `.dtype`

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* implement column, add basic unit tests for Ibis data types

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Add `ibis` extra and regenerate requirements files

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Re-enable Python equivalents for `int` and `float`

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Do not test Ibis below py3.9, add DuckDB for tests (#1773)

* Restore accidentally-deleted use of "breakpoint()"

Signed-off-by: Deepyaman Datta <[email protected]>

* Swap `types-pkg_resources` with `types-setuptools` (#1779)

* Swap `types-pkg_resources` with `types-setuptools`

Signed-off-by: Deepyaman Datta <[email protected]>

* Update the expected error message to name variable

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix expected outputs for pandas-stubs 2.2.2.240807

Signed-off-by: Deepyaman Datta <[email protected]>

* Update CI configuration to filter right pandas ver

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>

* Do not test Ibis below py3.9, add DuckDB for tests

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Support specifying and validating optional columns (#1762)

* Test model schema equivalency with optional dtypes

Signed-off-by: Deepyaman Datta <[email protected]>

* Support specifying and validating optional columns

Signed-off-by: Deepyaman Datta <[email protected]>

* Add DuckDB for testing and regenerate requirements

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Register string datatype and update existing tests (#1766)

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Add missing `type` field for the `Int32` data type (#1771)

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement minimal `coerce` and corresponding tests (#1772)

* Implement minimal `coerce` and corresponding tests

Signed-off-by: Deepyaman Datta <[email protected]>

* Do not exclude 3.9 in Ibis CI, and regenerate reqs

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Ibis check backend (#1831)

* [wip] add minimal ibis check backend implementation

Signed-off-by: cosmicBboy <[email protected]>

* support scalar, column, and table check output types

Signed-off-by: cosmicBboy <[email protected]>

* support scalar, column, and table check output types

Signed-off-by: cosmicBboy <[email protected]>

* Ibis check backend suggestions (#1855)

* Apply suggestions from code review

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix row-order-dependent order by adding table cols

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>

* fix lint

Signed-off-by: cosmicBboy <[email protected]>

* fix unit tests

Signed-off-by: cosmicBboy <[email protected]>

---------

Signed-off-by: cosmicBboy <[email protected]>
Signed-off-by: Deepyaman Datta <[email protected]>
Co-authored-by: Deepyaman Datta <[email protected]>
Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Remove Ibis backend's use of `scalar_failure_case`

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Update signature of `run_schema_components_checks`

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Fix violations in `pandera/backends//container.py`

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Remove use of multimethod library and align Polars

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* fix backend registration

Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement minimal built-in checks for Ibis backend (#1885)

* Implement minimal built-in checks for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Implement `Column` validation for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Promote check object to table during preprocessing

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove extraneous fixture for backend registration

Signed-off-by: Deepyaman Datta <[email protected]>

* Resolve lint (unused imports, undefined variables)

Signed-off-by: Deepyaman Datta <[email protected]>

* Partially standardize docstrings of builtin checks

Signed-off-by: Deepyaman Datta <[email protected]>

* Fix the `preprocess` docstrings copied from pandas

Signed-off-by: Deepyaman Datta <[email protected]>

* Format pandera/backends/ibis/checks.py using Black

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Update test to reflect scalar output since Ibis 10 (#1907)

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Use `Union` type for `PysparkObject` to fix typing

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Add Ibis with the DuckDB extra as a dev dependency

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Update/align noxfile.py and generated requirements

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Supress unused argument check for `data_container`

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Include `polars` extra dep for testing Ibis dtypes

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Update check example to correctly process IbisData

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Execute validated schema to get the desired result

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement "ne" built-in check for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement int/uint/float types, except for float16

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement timestamp type, and test built-in checks

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Support built-in checks for interval-typed columns

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Blacken pandera/engines/ibis_engine.py module code

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement `dt.Date` type, and test built-in checks

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement `dt.Time` type, and test built-in checks

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement `gt` and `ge` check for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Standardize docstrings, don't say "data container"

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement `lt` and `le` check for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Fix "form" to "from", and align docstring for test

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Apply suggestion from Copilot to fix error message

Co-authored-by: Copilot <[email protected]>
Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Support table-level checks, including for built-in

Signed-off-by: Deepyaman Datta <[email protected]>

Co-authored-by: cosmicBboy <[email protected]>

Signed-off-by: cosmicBboy <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement `is_in_range` check for the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement `isin()` built-in check for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Refactor duplicated code into `_across()` function

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement `notin()` builtin check for Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement the `str_matches` built-in check on Ibis

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement `str_contains` check on the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement `str_startswith()` check on Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement `str_endswith()` built-in check for Ibis

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement the `str_length` built-in check for Ibis

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement the unique_values_eq built-in Ibis check

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Add entry for `ibis` to the backend support matrix

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Write detailed documentation on using Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Replace `ibis.expr.types` imports (where possible)

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Implement `typing` module and decorators for Ibis

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Duplicate tests for Ibis decorators implementation

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Use `code-cell` over `testcode` to build Ibis docs

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Add Ibis docs to the supported libraries `toctree`

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Create element-wise checks automatically for users (#2043)

* Create element-wise checks automatically for users

Signed-off-by: Deepyaman Datta <[email protected]>

* Mark unsupported scenario with element-wise checks

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Remove `to_format` methods that don't work on Ibis (#2044)

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Execute dataframe-level checks on the Ibis backend (#2041)

* Execute dataframe-level checks on the Ibis backend

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove unnecessary, un-Pythonic array length check

Signed-off-by: Deepyaman Datta <[email protected]>

* Remove bit on separately running data-level checks

Signed-off-by: Deepyaman Datta <[email protected]>

---------

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* Mark unsupported scenario with element-wise checks (#2046)

Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* handle dataframe-level failure cases: convert row to dict

Signed-off-by: cosmicBboy <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* bugfix/1927 (#2019)

* fix generating pydantic core schema for generic types

Signed-off-by: Jarek-Rolski <[email protected]>

* test pytest for typed generic DataFrame

Signed-off-by: Jarek-Rolski <[email protected]>

* fix issue with docs gitactions test

Signed-off-by: Jarek-Rolski <[email protected]>

* fix pytest test_typed_generic_dataframe

Signed-off-by: Jarek-Rolski <[email protected]>

* fix pytest test_typed_generic_dataframe

Signed-off-by: Jarek-Rolski <[email protected]>

* improve changes

Signed-off-by: Jarek-Rolski <[email protected]>

* bug fix

Signed-off-by: Jarek-Rolski <[email protected]>

* fix pydantic tests for pydantic<2

Signed-off-by: Jarek-Rolski <[email protected]>

* add pytest test_typed_dataframe_model_json_schema

Signed-off-by: Jarek-Rolski <[email protected]>

---------

Signed-off-by: Jarek-Rolski <[email protected]>
Signed-off-by: Andrej Iring <[email protected]>

* resolve failing pylint tests

Signed-off-by: Andrej Iring <[email protected]>

---------

Signed-off-by: Andrej Iring <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Deepyaman Datta <[email protected]>
Signed-off-by: cosmicBboy <[email protected]>
Signed-off-by: Jarek-Rolski <[email protected]>
Co-authored-by: Niels Bantilan <[email protected]>
Co-authored-by: Deepyaman Datta <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Jarek-Rolski <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants